package com.coscoshipping.rams.demo.service;

import com.coscoshipping.rams.demo.entity.BlockAnalysis;
import com.coscoshipping.rams.demo.entity.BlockHeader;
import com.baomidou.mybatisplus.extension.service.IService;
import com.coscoshipping.rams.demo.pojo.dto.BlockSnapshotDTO;
import com.coscoshipping.rams.demo.pojo.dto.GroupInfoDTO;
import com.coscoshipping.rams.demo.pojo.dto.GroupToBlockDTO;
import com.coscoshipping.rams.utils.base.Result;
import jakarta.validation.constraints.NotBlank;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zhaoyin.yang
 * @since 2025-01-15
 */
public interface IBlockHeaderService extends IService<BlockHeader> {


    /**
     * @description 根据blockname查询block
     * @param blockname
     * @return: java.util.List<com.coscoshipping.rams.demo.entity.BlockAnalysis>
     * @author 杨召银
     * @date 2025/2/8 8:51
     */
    public List<BlockAnalysis> getBlockHeaderList(String blockname);


    /**
     * @description 获取活动开始当天的预控总数
     * @return: java.util.List<com.coscoshipping.rams.demo.pojo.dto.BlockSnapshotDTO>
     * @author 杨召银
     * @date 2025/1/15 17:50
     */
    public List<BlockSnapshotDTO> getTodayBlockSnapshot();


    /**
     * @description 团队主单关联Block
     * @param groupToBlockDTO
     * @return: void
     * @author 杨召银
     * @date 2025/1/16 11:55
     */
    public void connectGroupToBlock( GroupToBlockDTO groupToBlockDTO);


    /**
     * @description 查询指定block的团队列表
     * @param blockcode
     * @return: java.util.List<com.coscoshipping.rams.demo.pojo.dto.GroupInfoDTO>
     * @author 杨召银
     * @date 2025/2/8 9:19
     */
    public List<GroupInfoDTO> getGroupByBlockcode(String blockcode);



    /**
     * @description 获取指定团队主单的收入信息、支付信息"
     * @param groupno
     * @return: com.coscoshipping.rams.demo.pojo.dto.GroupInfoDTO
     * @author 杨召银
     * @date 2025/2/8 11:46
     */
    public GroupInfoDTO getGroupInfo(String groupno);



    /**
     * @description 获取指定block的收入信息、支付信息
     * @param blockcode
     * @return: java.util.List<com.coscoshipping.rams.demo.pojo.dto.GroupInfoDTO>
     * @author 杨召银
     * @date 2025/2/10 14:48
     */
    public List<GroupInfoDTO> getBlockInfo(String blockcode);
}
